const http = require('http'); // 引入http核心模块
const server = http.createServer();// createServer()方法返回一个server实例
server.on('request',(req,res)=>{
  console.log(req.url);// 获取到请求的路径（请求路径永远以“/”开头）
  console.log(res);
 /*   给服务器绑定接收请求的处理事件，
  当服务器接收到客户端发送的请求后，
  会调用后面的处理函数，处理函数接收两个参数：
  请求信息对象，响应信息对象。 */
  const url = req.url;
  switch (url) {
    case '/':
      res.end('not data');
      break;
    case '/login':
      res.end('登录数据：暂无规划');      
      break;
    case '/register':
      res.end('注册数据格式：暂无');
      break;
    case '/product':
      const arr = [
        {
          name: 'redmi k40',
          cpu:'骁龙870',
          storage:'12GB + 256GB',
          price: 2499
        },
        {
          name: 'redmi k40pro+',
          cpu:'骁龙888',
          storage:'12GB + 256GB',
          price: 3699
        },
        {
          name: 'mi 11',
          cpu:'骁龙888',
          storage:'8GB + 256GB',
          price: 3999
        },
        {
          name: 'iphone 12',
          cpu:'A14',
          storage:'6GB + 128GB',
          price: 5999
        }
      ]
      res.writeHead(200, {'Content-Type': 'text/plain'});
      // 发送 HTTP 头部 
      // HTTP 状态值: 200 : OK
      // 内容类型: text/plain
      
      res.end(JSON.stringify(arr));
      break;
      default:
      res.end('404 NOT FOUND')
      break;
  }
})
server.listen(8084,()=>{//绑定监听端口号，开启服务器
  console.log('服务器启动成功，访问http://localhost:8084/ 获取数据');
// server.listen()用来绑定监听的端口号，可以传入第二个参数，当服务器开启成功后，触发后面的回调函数
})
